home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / listings / v_07_07 / v7n7087a.txt < prev    next >
Text File  |  1989-09-03  |  835b  |  31 lines

  1.                       Opening an Existing Block File
  2.  
  3. typedef struct {            /* sequential file header */
  4.      size_t recsize;        /* record size */
  5. } shdr_t;
  6.  
  7. typedef struct {            /* sequential file control structure */
  8.      shdr_t shdr;           /* file header */
  9.      BLKFILE *bp;           /* block file pointer */
  10. } seq_t;
  11. seq_t sb[SOPEN_MAX];       /* sequential file control structure table */
  12.  
  13. seq_t *sp = sb[0];
  14.  
  15. /* open sequential file */
  16. sp->bp = bopen(filename, "r+", sizeof(shdr_t), (size_t)1, (size_t)0);
  17. if (sp->bp == NULL);
  18.      /* error */
  19. }
  20. /* read file header to get record size */
  21. rs = bgeth(sp->bp, (void *)&sp->shdr);
  22. if (rs == -1) {
  23.      /* error */
  24. }
  25. /* set up buffering */
  26. rs = bsetvbuf(sp->bp, NULL, sp->shdr.recsize, SBUFCNT);
  27. if (rs != 0) {
  28.      /* error */
  29. }
  30.  
  31.